/*
 * Ext GWT 2.2.3 - Ext for GWT Copyright(c) 2007-2010, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */
package de.hwr.chronix.client;

import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.extjs.gxt.ui.client.data.BaseModelData;

import de.hwr.chronix.client.dto.TimeslotAdminDTO;

public class TimeslotMD extends BaseModelData {

	

	public TimeslotMD() {

	}

	public TimeslotMD(Date start, Date ende) {
		setDatum(start);
		setStartzeit(start);
		setEndzeit(ende);
	}

	public TimeslotMD(TimeslotAdminDTO timeslot) {
		setDatum(timeslot.getStart());
		setStartzeit(timeslot.getStart());
		setEndzeit(timeslot.getEnd());
	}

	public Date getDatum() {
		return get("datum");
	}

	public void setDatum(Date datum) {
		set("datum", datum);
	}

	public Date getStartzeit() {
		return get("startzeit");
	}

	public void setStartzeit(Date startzeit) {
		set("startzeit", startzeit);
	}

	public Date getEndzeit() {
		return get("endzeit");
	}

	public void setEndzeit(Date ende) {
		set("endzeit", ende);
	}

	public Date getStart(){
		Date start=new Date(getDatum().getTime());
		start.setHours(getStartzeit().getHours());
		start.setMinutes(getStartzeit().getMinutes());
		return start;
	}
	public Date getEnd(){
		Date end=new Date(getDatum().getTime());
		
		end.setHours(getEndzeit().getHours());
		end.setMinutes(getEndzeit().getMinutes());
		return end;
	}

	public TimeslotAdminDTO getTimeslotDTO(){
		return new TimeslotAdminDTO(getStart(), getEnd());
	}
	public static Set<TimeslotAdminDTO> convertSlots(List<TimeslotMD> models) {
		Set<TimeslotAdminDTO> l= new HashSet<TimeslotAdminDTO>();
		for(TimeslotMD tsMD: models){
			l.add(tsMD.getTimeslotDTO());
		}
		return l;
	}
}
